]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
8 years agosystem: Pick up Settings name and icon from app
Florian Müllner [Tue, 24 Jul 2018 14:40:03 +0000 (16:40 +0200)]
system: Pick up Settings name and icon from app

The settings action button in the system menu simply launches
gnome-control-center, so we want its icon (and accessible name)
to always match the app. So instead of keeping the button in-sync
with Settings, just look up that information from the app itself.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/433

8 years agosystem: Enforce symbolic icons in action buttons
Florian Müllner [Tue, 24 Jul 2018 14:29:56 +0000 (16:29 +0200)]
system: Enforce symbolic icons in action buttons

We can simply request the symbolic variant from CSS so that we don't
have to append '-symbolic' to all the names. This will always make
it easier to pick up that information from external sources (like
.desktop files).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/433

8 years agowindowManager: Fix switch animation between non-adjacent workspaces
Florian Müllner [Tue, 31 Jul 2018 04:37:20 +0000 (06:37 +0200)]
windowManager: Fix switch animation between non-adjacent workspaces

Commit e5c95b910d refactored the workspace animation to also handle
animations that involve all surrounding workspaces, but due to an
ill-advised review comment (guess whose) it broke the animation
for non-neighboring workspaces.

Update the code to handle correctly whether in a given direction:
 - we have the target workspace of a given index
 - we have a neighboring workspace
 - we don't need to animate anything

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/182

8 years agoutil: Fix code style
Georges Basile Stavracas Neto [Tue, 31 Jul 2018 00:17:44 +0000 (21:17 -0300)]
util: Fix code style

The C code introduced in 49d8ff38e did not follow
GNOME Shell's C code style. This commit adjusts it
to comply with the correct code style.

8 years agoAdd check_cloexec_fds debug command
Daniel Drake [Fri, 27 Jul 2018 16:30:22 +0000 (11:30 -0500)]
Add check_cloexec_fds debug command

Add a debug command (to be executed manually via Alt+F2) to check
that all of gnome-shell's file descriptors have the CLOEXEC flag set.
This is important so that internal file descriptors do not get passed
to apps when they are launched.

It prints a warning message for every fd that does not have the flag set.

fdwalk() is used from the standard library if available (it is not
available in glibc), otherwise we use the same implementation as glib
has internally.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/132

8 years agoshell-app: remove child_setup from app launching
Daniel Drake [Wed, 6 Jun 2018 13:07:17 +0000 (07:07 -0600)]
shell-app: remove child_setup from app launching

When the amount of free memory on the system is somewhat low, gnome-shell
will sometimes fail to launch apps, reporting the error:
  fork(): Cannot allocate memory

fork() is failing here because while cloning the process virtual address
space, Linux worries that the thread being forked may end up COWing the
entire address space of the parent process (gnome-shell, which is
memory-hungry), and there is not enough free memory to permit that to
happen. This check is somewhat irrelevant because we are only forking
to immediately exec(), which will discard the whole virtual address
space anyway.

This issue can be avoided by using a new optimized gspawn codepath in
the latest glib development version, which uses posix_spawn() internally.

For the optimized codepath to be used, we must not pass a child_setup
function, so the the file descriptor management is reimplemented here
using new glib API to pass fds to the child process. The old API will
continue to be used on older glib versions.

We must also change the spawn flags for this code path to be hit.
I checked that gnome-shell's open file descriptors are all CLOEXEC
so using G_SPAWN_LEAVE_DESCRIPTORS_OPEN should be safe.

This will result in more resilient app launching when memory is low,
since the optimized spawn path avoids cloning the virtual address
space of the parent process (gnome-shell) and avoids the irrelevant
memory overcommit check.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/132

8 years agowindowManager: Make workspace switching gestures follow motion
Carlos Garnacho [Fri, 13 Jul 2018 21:38:03 +0000 (23:38 +0200)]
windowManager: Make workspace switching gestures follow motion

When 4fg swipe motion happens, set up early the workspace switching
animation with all surrounding workspaces. This allows us to move
all content back and forth in any direction. This works on both
touchcreens and touchpads.

When the gesture is activated, the same data is reused to follow
up with the tween animation.

The threshold has been also doubled, it was fairly small to start
with, and feels better now that workspaces stick to fingers.

https://bugzilla.gnome.org/show_bug.cgi?id=788994

8 years agowindowManager: Refactor workspace switching animations
Carlos Garnacho [Fri, 13 Jul 2018 13:04:02 +0000 (15:04 +0200)]
windowManager: Refactor workspace switching animations

Besides the separation into distinct functions, the stored data has
been made able to generically store windows from all surrounding
workspaces. All while keeping a special mode to animate between two
workspaces (The usual till now), this is the only mode exercised so
far.

In order to ease animations, all window groups are now children of
a common container, which is then animated.

8 years agowindowManager: Declare variables
Carlos Garnacho [Fri, 13 Jul 2018 21:32:33 +0000 (23:32 +0200)]
windowManager: Declare variables

Fixes warnings from GJS.

8 years agoapp: Consider "new-window" action for opening new windows
Florian Müllner [Thu, 22 Sep 2016 16:29:29 +0000 (18:29 +0200)]
app: Consider "new-window" action for opening new windows

While can_open_new_window() uses some elaborate heuristics to predict
whether an application can open multiple windows, open_new_window()
will always simply relaunch the application. This is often the best
we can do, but when an application provides a "new-window" action in
its .desktop file or on the bus, it is much more likely to work as
expected than blindly activating the app and hoping for a particular
behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=756844

8 years agoscreenshot: Add PickColor() method to Screenshot interface
Florian Müllner [Tue, 17 Jul 2018 23:34:59 +0000 (01:34 +0200)]
screenshot: Add PickColor() method to Screenshot interface

Use the newly added API to implement a color picker method in the
screenshot interface, so that the desktop portal can expose it
to applications.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/286

8 years agoscreenshot: Allow bypassing lockdown setting
Florian Müllner [Thu, 19 Jul 2018 17:23:46 +0000 (19:23 +0200)]
screenshot: Allow bypassing lockdown setting

The setting is only relevant when writing to disk is required. We
will soon expose a screenshot method that doesn't, so make it
possible to ignore it.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/286

8 years agoscreenshot: Add pick_color() method
Florian Müllner [Thu, 19 Jul 2018 12:50:49 +0000 (14:50 +0200)]
screenshot: Add pick_color() method

Graphical applications like GIMP or GIMP allow picking colors from
any location on-screen. In order to keep supporting this feature
on wayland and in sandboxed apps, we will expose an appropriate
method in the Screenshot interface, so first add a corresponding
method to ShellScreenshot.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/286

8 years agoscreenshot: Adopt GIO's async pattern
Florian Müllner [Thu, 19 Jul 2018 13:54:33 +0000 (15:54 +0200)]
screenshot: Adopt GIO's async pattern

A custom callback type is more convenient, but only as long as no
other callback type is required. We are about to add functionality
that does not return the filename to a screenshot saved on disk, so
prepare for that by moving to GIO's generic async callback pattern.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/286

8 years agowindowManager: Add top edge drag gesture to unmake fullscreen window
Jan-Michael Brummer [Thu, 7 Jun 2018 15:52:18 +0000 (17:52 +0200)]
windowManager: Add top edge drag gesture to unmake fullscreen window

Fullscreen windows cannot be restored by touch device users unless the
application adds support for it.
As it is unlikely to change all application lets introduce a top edge
drag gesture which unmakes fullscreen windows.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/123

8 years agoremoteAccess: Make indicator orange
Jonas Ådahl [Fri, 27 Jul 2018 16:07:52 +0000 (18:07 +0200)]
remoteAccess: Make indicator orange

Make the indicator for active remote access use the warning color, to
indicate the severity of allowing remote access.

This only makes the indicator icon orange; the icon in the system menu
is still white.

8 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 27 Jul 2018 11:38:45 +0000 (13:38 +0200)]
Updated Spanish translation

8 years agogdm, util: Always allow to retry login in unlock mode
Marco Trevisan (Treviño) [Tue, 29 May 2018 00:10:09 +0000 (03:10 +0300)]
gdm, util: Always allow to retry login in unlock mode

When in lockscreen mode there's no point of resetting the auth login as there's
no welcome screen, and that would just cause the UI to freeze, with no reason.
This could have been useful if we were stopping the user to login for a given
time after ALLOWED_FAILURES attempts, but this is not the case yet.

8 years agoauthPrompt: Do not enable sensitivity if retries are disallowed
Marco Trevisan (Treviño) [Tue, 29 May 2018 00:00:04 +0000 (03:00 +0300)]
authPrompt: Do not enable sensitivity if retries are disallowed

Set the sensitivity of the UI according to the canRetry parameter and thus
if no more logins are allowed don't take any input.

Fixes #311

8 years agoauthPrompt: Unset preemptiveAnswer on reset
Marco Trevisan (Treviño) [Mon, 28 May 2018 23:51:00 +0000 (02:51 +0300)]
authPrompt: Unset preemptiveAnswer on reset

When we get a reset signal the preemptiveAnswer should be also unset or it will
be used next time the user authPrompt will be activated, even without any further
user interaction.

Fixes #311

8 years agoworkspaceThumbnail: Sync clone position changes with actor
Marco Trevisan (Treviño) [Fri, 19 Jan 2018 14:01:16 +0000 (15:01 +0100)]
workspaceThumbnail: Sync clone position changes with actor

We need to update the clone position if window actor (not the meta window)
position changed.

https://bugzilla.gnome.org/show_bug.cgi?id=776588

8 years agoworkspace: Recompute bounding box on window 'position-changed'
Marco Trevisan (Treviño) [Fri, 19 Jan 2018 14:00:10 +0000 (15:00 +0100)]
workspace: Recompute bounding box on window 'position-changed'

We need to update the clone position if window size changed
also, rename meta window 'size-changed' callback accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=792681

8 years agoicons: update to current metaphors
Jakub Steiner [Tue, 24 Jul 2018 09:05:55 +0000 (11:05 +0200)]
icons: update to current metaphors

- sync with adwaita-icon-theme metaphors

8 years agoUpdate POTFILES.in
Piotr Drąg [Mon, 23 Jul 2018 21:14:12 +0000 (23:14 +0200)]
Update POTFILES.in

8 years agoAdd remote access indication and control
Jonas Ådahl [Fri, 20 Jul 2018 14:50:50 +0000 (16:50 +0200)]
Add remote access indication and control

Add an indicator for when there is something access the display server
remotely. This could be 1) remote desktop, 2) screen cast or 3) remote
control, but all effectively applications using
org.freedesktop.portal.ScreenCast or org.gnome.portal.RemoteDesktop as
well as gnome-remote-desktop using the corresponding org.gnome.Mutter
APIs directly.

As it is now, it'll simply show a single icon for when anything is
having an active session, and a single action "Turn off" that'll close
every active session.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/160

8 years agoUpdate French translation
Charles Monzat [Fri, 20 Jul 2018 09:00:03 +0000 (09:00 +0000)]
Update French translation

8 years agobuild: Don't use libdir for systemd unit path
Florian Müllner [Wed, 18 Jul 2018 21:03:30 +0000 (23:03 +0200)]
build: Don't use libdir for systemd unit path

Some systems define it to /usr/lib64 on 64-bit systems, which is not
where systemd looks for unit files. Just hardcode 'lib' in the install
prefix until we get to use the pkg-config file.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/424

8 years agoBump version to 3.29.4
Florian Müllner [Wed, 18 Jul 2018 15:46:36 +0000 (17:46 +0200)]
Bump version to 3.29.4

Update NEWS.

8 years agoinputMethod: Handle IBusInputContext::forward-key-press
Carlos Garnacho [Fri, 29 Jun 2018 15:35:39 +0000 (17:35 +0200)]
inputMethod: Handle IBusInputContext::forward-key-press

The input method may hint that certain keycodes should be pressed/released
besides the textual information in ::commit. An example is hitting space
in some IMs to commit text, where both ::commit happens, and an space is
visibly inserted. In order to handle this properly, we must honor
::forward-key-press.

In order to cater for the case that a keypress is forwarded while handling
that same keypress in a physical keyboard, check the current event being
handled and just forward it as-is if it matches. This is necessary to
prevent state from being doubly set, and the second event silenced away.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/275

Closes: #275
8 years agoAdd systemd units
Iain Lane [Wed, 17 Jan 2018 15:56:17 +0000 (15:56 +0000)]
Add systemd units

So that we can be started by systemd --user, instead of gnome-session.

There are three units:

  - gnome-shell.service: Start gnome-shell itself.
  - gnome-shell-x11.target, gnome-shell-wayland.target: Sync points for
    units that need to care if x11 or wayland is in use.
    gnome-settings-daemon will use these, for example.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/138

8 years agoStop using conditional catch statements
Florian Müllner [Sun, 15 Jul 2018 01:17:42 +0000 (03:17 +0200)]
Stop using conditional catch statements

It is a mozilla extension that is going away in SpiderMonkey 60.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/151

8 years agologinManager: Get the session ID from logind if XDG_SESSION_ID unset
Iain Lane [Mon, 8 Jan 2018 14:23:52 +0000 (14:23 +0000)]
loginManager: Get the session ID from logind if XDG_SESSION_ID unset

If we're started by systemd, we won't be in the user's display session.
However, this is still the session that will get locked & unlocked. Ask
logind what the 'display' or 'greeter' session is, and watch for the
Unlock signal for that session to know when to unlock.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/137

8 years agokeyboard: Handle no-window case in FocusTracker
Florian Müllner [Mon, 16 Jul 2018 23:36:38 +0000 (01:36 +0200)]
keyboard: Handle no-window case in FocusTracker

For windows, the cursor location needs to be adjusted by the frame
offsets. However we cannot assume that there is a window, as the
shell itself can have the key focus.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/414

8 years agoUpdate Russian translation
Stas Solovey [Mon, 16 Jul 2018 21:27:25 +0000 (21:27 +0000)]
Update Russian translation

8 years agopanel: Allow restoring maximized/tiled windows by touch
Florian Müllner [Thu, 24 May 2018 15:28:36 +0000 (17:28 +0200)]
panel: Allow restoring maximized/tiled windows by touch

Maximized and tiled windows can be restored with a drag gesture,
not only from their titlebars, but also from any non-reactive
parts of the top bar above the window. Currently this only works
for actual pointer devices, extend the behavior to handle touch
as well.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/112

8 years agoswitcherPopup: Cancel window cycling with Tab
Xavier Johnson [Tue, 29 May 2018 04:52:24 +0000 (00:52 -0400)]
switcherPopup: Cancel window cycling with Tab

If the Escape key is used for a window/app cycler/switcher shortcut
(such as "Switch windows directly"), then there is no way to cancel
the switching/cycling operation with the keyboard.

This change allows cancelling such an operation by pressing the Tab
key, but only if Tab is not already being used by the current
switcher/cycler shortcut.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/315
8 years agopopupMenu: Don't handle key presses directly if there are modifiers
Andrea Azzarone [Thu, 21 Jun 2018 16:40:43 +0000 (18:40 +0200)]
popupMenu: Don't handle key presses directly if there are modifiers

Key events involved in a keyboard shortcut are not completely consumed by
Mutter. That means that if the popupMenu is bound to a shortcut (e.g.
Alt<Space>) and the user keeps the keys pressed, the same key-event will be
delivered to the popupMenu. We can workaround this issue filtering out all the
events where a a modifier is down (except capslock).

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/372
8 years agost-texture-cache: Obey cache policy in st_texture_cache_load
Jasper St. Pierre [Fri, 4 Nov 2011 20:03:33 +0000 (16:03 -0400)]
st-texture-cache: Obey cache policy in st_texture_cache_load

https://bugzilla.gnome.org/show_bug.cgi?id=663461

8 years agoevents: Re-use event messages where possible
Florian Müllner [Sat, 9 Jun 2018 11:23:35 +0000 (13:23 +0200)]
events: Re-use event messages where possible

Destroying and recreating the entire events list on every change is not only
wasteful, it also breaks the clear functionality as messages scheduled for
removal are replaced with "new" messages after the first message has been
removed.

Address both issues by keeping track of all messages and re-use them
whenever possible.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/325

8 years agost-adjustment: Mark all properties as EXPLICIT_NOTIFY
Carlos Garnacho [Thu, 28 Jun 2018 18:22:40 +0000 (20:22 +0200)]
st-adjustment: Mark all properties as EXPLICIT_NOTIFY

All adjustment setter functions take good care of avoiding emission of
notify:: when it's not needed. The set_property() implementation already
calls into the setter functions, so mark the properties as EXPLICITY_NOTIFY
in order to optimize notify:: emission away through g_object_set (rather
common from JS code).

8 years agost-box-layout: Queue relayout on adjustment changes
Carlos Garnacho [Thu, 28 Jun 2018 14:41:07 +0000 (16:41 +0200)]
st-box-layout: Queue relayout on adjustment changes

The actor allocation doesn't change per-se, but apply_transform()
will practically transform it. In order to have the paint volume
update accordingly, queue a relayout.

8 years agost: Clip StEntry to allocation
Carlos Garnacho [Fri, 15 Jun 2018 12:23:21 +0000 (14:23 +0200)]
st: Clip StEntry to allocation

The default get_paint_volume() implementation will do the union
of children, and the child ClutterText paint volume may expand
beyond StEntry size when text overflows.

We actually want all content to be clipped to the StEntry, so
implement get_paint_volume() and tell it so.

8 years agost: Make StScrollables' paint volume reflect the unconstrained view
Carlos Garnacho [Wed, 16 May 2018 21:57:38 +0000 (23:57 +0200)]
st: Make StScrollables' paint volume reflect the unconstrained view

And constrain it in StScrollView instead (instead of falling back to an
infinite paint volume, as the actor as paint/pick impls, but no
corresponding get_paint_volume one).

Fixes artifacts with the AppView (and possibly other places) when paint
volumes are aggressively cached.

8 years agokeyboard: Remove stale references to global.screen
Carlos Garnacho [Wed, 11 Jul 2018 16:46:49 +0000 (18:46 +0200)]
keyboard: Remove stale references to global.screen

(Re)introduced by the previous patch.

8 years agokeyboard: Implement standalone FocusTracker
Carlos Garnacho [Fri, 25 May 2018 09:35:49 +0000 (11:35 +0200)]
keyboard: Implement standalone FocusTracker

And stop using FocusCaretTracker for caret position purposes. This
new object uses 1) the text-input protocol in wayland and 2) Info
from IBusPanelService for X11 (which is meant to work for XIM too).

This drops the usage of AtspiEventListener for OSK purposes, which
is best to avoid.

8 years agoBump version to 3.29.3
Florian Müllner [Mon, 9 Jul 2018 17:05:55 +0000 (19:05 +0200)]
Bump version to 3.29.3

Update NEWS.

8 years agoworkspaceThumbnail: Don't keep stale clones in list
Florian Müllner [Mon, 9 Jul 2018 10:19:00 +0000 (12:19 +0200)]
workspaceThumbnail: Don't keep stale clones in list

If a clone gets destroyed before the corresponding MetaWindow is
removed from the workspace, we will still find it in the list of
clones and try to destroy it again. Avoid the resulting warnings
by updating the list of clones immediately when a clone is destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=791233

8 years agoworkspace: Don't keep stale clones in list
Florian Müllner [Mon, 9 Jul 2018 09:50:25 +0000 (11:50 +0200)]
workspace: Don't keep stale clones in list

If a clone gets destroyed before the corresponding MetaWindow is
removed from the workspace, we will still find it in the list of
clones and try to destroy it again. Avoid the resulting warnings
by updating the list of clones immediately when a clone is destroyed.

https://bugzilla.gnome.org/show_bug.cgi?id=791233

8 years agoworkspaceThumbnail: remove unused private win reference
Marco Trevisan (Treviño) [Fri, 29 Jun 2018 09:21:59 +0000 (11:21 +0200)]
workspaceThumbnail: remove unused private win reference

8 years agokeyboard: remove global.screen
Marco Trevisan (Treviño) [Sun, 8 Jul 2018 15:39:45 +0000 (17:39 +0200)]
keyboard: remove global.screen

This is disabled code for now, but let's have it fixed once we'll use it

8 years agocloseDialog: use {disable,enable}_unredirect_for_display
Marco Trevisan (Treviño) [Sun, 8 Jul 2018 15:37:53 +0000 (17:37 +0200)]
closeDialog: use {disable,enable}_unredirect_for_display

Remove leftover global.screen presency

8 years agoUpdate Catalan translation
Jordi Mas [Sun, 8 Jul 2018 07:23:29 +0000 (09:23 +0200)]
Update Catalan translation

8 years agoRemove usage of MetaScreen
Jonas Ådahl [Wed, 3 Jan 2018 07:55:38 +0000 (15:55 +0800)]
Remove usage of MetaScreen

Remove any usage of MetaScreen, as it has been removed from libmutter
in the API version 3. The corresponding functionality has been moved
into three different places: MetaDisplay, MetaX11Display (for X11
specific functionality) and MetaWorkspaceManager.

https://bugzilla.gnome.org/show_bug.cgi?id=759538

8 years agoworkspaceThumbnail: Initialize signal handler ids to 0
Jonas Ådahl [Wed, 25 Apr 2018 20:03:16 +0000 (22:03 +0200)]
workspaceThumbnail: Initialize signal handler ids to 0

They are used in conditions, so initialize them first.

8 years agoUpdate Occitan translation
Cédric Valmary [Thu, 5 Jul 2018 09:51:43 +0000 (09:51 +0000)]
Update Occitan translation

8 years agost-private: Warn if creating shadow for unallocated actors
Marco Trevisan (Treviño) [Fri, 13 Apr 2018 01:25:21 +0000 (21:25 -0400)]
st-private: Warn if creating shadow for unallocated actors

8 years agost-icon: Create shadow pipeline only at paint
Marco Trevisan (Treviño) [Wed, 18 Oct 2017 10:32:22 +0000 (06:32 -0400)]
st-icon: Create shadow pipeline only at paint

Don't try to allocate the shadow after allocation, just do it at paint
as it's done by other shadowed widgets

8 years agost-icon: Remove unused size values
Marco Trevisan (Treviño) [Fri, 13 Apr 2018 01:11:03 +0000 (21:11 -0400)]
st-icon: Remove unused size values

8 years agolayoutManager: Return null monitor if focusIndex is invalid
Marco Trevisan (Treviño) [Thu, 28 Jun 2018 14:51:48 +0000 (16:51 +0200)]
layoutManager: Return null monitor if focusIndex is invalid

https://bugzilla.gnome.org/show_bug.cgi?id=788882

8 years agowindowManager: Don't animate unmanaged windows on (un)minimization
Marco Trevisan (Treviño) [Wed, 18 Apr 2018 06:27:34 +0000 (08:27 +0200)]
windowManager: Don't animate unmanaged windows on (un)minimization

8 years agokeyboard: Check monitor validity before deferencing it
Marco Trevisan (Treviño) [Wed, 18 Apr 2018 06:08:54 +0000 (08:08 +0200)]
keyboard: Check monitor validity before deferencing it

Monitor could be invalid in headless mode.

https://bugzilla.gnome.org/show_bug.cgi?id=788882

8 years agokeyboard: Handle case where keyboardMonitor is unset
Sam Spilsbury [Wed, 11 Oct 2017 10:59:19 +0000 (12:59 +0200)]
keyboard: Handle case where keyboardMonitor is unset

This may be the case where keyboardIndex is -1, which may be the
case where either the keyboard monitor hasn't been set yet, or
the keyboard is being unmanaged and meta_window_get_monitor
returns -1

https://bugzilla.gnome.org/show_bug.cgi?id=788882

8 years agowindowMenu: Check if monitorIndex is valid before using it
Sam Spilsbury [Wed, 11 Oct 2017 10:42:04 +0000 (18:42 +0800)]
windowMenu: Check if monitorIndex is valid before using it

Calling meta_window_get_monitor on an unmanaged window may return
-1, so we need to check the return value.

https://bugzilla.gnome.org/show_bug.cgi?id=788882

8 years agothunderbolt: Do not auto start boltd
Florian Müllner [Mon, 26 Feb 2018 18:21:43 +0000 (19:21 +0100)]
thunderbolt: Do not auto start boltd

The service is expected to be activated by systemd when a thunderbolt
device is plugged in, so no need to have it auto-started with the
session.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/54

8 years agost-texture-cache: Save cairo surfaces to a different map
Marco Trevisan (Treviño) [Tue, 17 Apr 2018 09:53:02 +0000 (04:53 -0500)]
st-texture-cache: Save cairo surfaces to a different map

The default keyed_surface is meant to handle CoglTextures thus we can't
add cairo surfaces to it, as the DestroyNotify function won't handle them.

Then the quicker way is to just add another Hash table for handling
such types of textures, with proper destroy function.

8 years agost-texture-cache: Don't add NULL textures to cache
Marco Trevisan (Treviño) [Tue, 17 Apr 2018 09:43:34 +0000 (04:43 -0500)]
st-texture-cache: Don't add NULL textures to cache

This might cause a crash when cleaning up the cache as the hash table has
cogl_object_unref as DestroyNotify function but that assumes that
the passed object is a valid CoglObject.

Fixes: #210
8 years agoChange "const" to "var"
Joe Rabinoff [Mon, 18 Jun 2018 14:38:46 +0000 (10:38 -0400)]
Change "const" to "var"

These variables are in fact used from other modules, so gjs complains about them
being const.

8 years agoUpdate Chinese (Taiwan) translation
Yi-Jyun Pan [Wed, 13 Jun 2018 08:38:03 +0000 (08:38 +0000)]
Update Chinese (Taiwan) translation

8 years agotheme: Use tabular figures where appropriate
Ryan Hendrickson [Thu, 17 May 2018 14:45:02 +0000 (10:45 -0400)]
theme: Use tabular figures where appropriate

In places where numbers appear in columns (like the calendar widget) or
where changing numbers would result in labels jiggling around due to
small width changes (like the clock), use the newly added
font-feature-settings support to request tabular figures.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/34

8 years agost: Add support for font-feature-settings
Ryan Hendrickson [Thu, 17 May 2018 14:45:02 +0000 (10:45 -0400)]
st: Add support for font-feature-settings

Cantarell now supports tabular figures, which are useful in places
where digits should either align or not use different widths. In
order to allow elements to request the feature, add support for
the corresponding CSS property[0].

[0] https://www.w3.org/TR/css-fonts-3/#font-rend-desc

https://gitlab.gnome.org/GNOME/gnome-shell/issues/34

8 years agotest-theme: Fix a comment
Florian Müllner [Fri, 8 Jun 2018 15:39:13 +0000 (17:39 +0200)]
test-theme: Fix a comment

8 years agoappDisplay: Make middle-click like Ctrl+click
Xavier Johnson [Tue, 29 May 2018 04:27:22 +0000 (00:27 -0400)]
appDisplay: Make middle-click like Ctrl+click

When middle-clicking an app icon on the Dash, it will always try to open
a new window of that app, even if the app doesn't support multiple
windows. Meanwhile, Ctrl+click on an app will only open a new window if
the app allows it.

This change prevents middle-clicks on app icons from opening new windows
for apps without multi-window support.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/316
8 years agoUpdate Scottish Gaelic translation
Gun Chleoc [Fri, 1 Jun 2018 10:36:10 +0000 (10:36 +0000)]
Update Scottish Gaelic translation

(cherry picked from commit 0ac0f7e85bf3410340090a65b4a24f70fb87cff5)

8 years agonetwork: Keep key focus in dialog when removing networks
Florian Müllner [Fri, 2 Mar 2018 22:44:44 +0000 (23:44 +0100)]
network: Keep key focus in dialog when removing networks

When the actor that has the key focus is destroyed, Clutter moves
the focus to the stage. In case the destroyed actor was inside a
ModalDialog, this breaks any keyboard interaction: keynav is broken
because the stage isn't in any focus chain, and access keys like
Escape because they are handled on the dialog's parent.

The only dialog that may destroy a child without recreating the dialog
buttons (and thus moving the key focus there) is the WirelessDialog,
fix it by keeping the key focus within the dialog when removing networks
from the list.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/76

8 years agonetwork: Handle networks with no access points
Florian Müllner [Fri, 2 Mar 2018 22:31:36 +0000 (23:31 +0100)]
network: Handle networks with no access points

This avoids a couple of warnings when encountering such a network.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/76

8 years agoscreenshot: Store creation time in metadata
Florian Müllner [Fri, 17 Nov 2017 12:02:06 +0000 (12:02 +0000)]
screenshot: Store creation time in metadata

It's useful information, even when we are not using JPEG/Exif - at
least nautilus will show it in its image properties.

https://bugzilla.gnome.org/show_bug.cgi?id=790481

8 years agoworkspace: Fall back to app name in window caption
Florian Müllner [Tue, 20 Feb 2018 17:29:00 +0000 (18:29 +0100)]
workspace: Fall back to app name in window caption

Just like we did for the window list in app icons' context menu,
provide a fallback for window captions in the window picker rather
than showing blank items to the user.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/26

8 years agoappDisplay: Fall back to app name in icon menu
Florian Müllner [Tue, 20 Feb 2018 17:16:52 +0000 (18:16 +0100)]
appDisplay: Fall back to app name in icon menu

The app icon's context menu contains a list of open windows,
identified by their title. As we currently don't handle the
case where the app didn't set a title, we end up with empty
menu items which looks clearly broken. Fall back to the app's
name in that case.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/26

8 years agost-label: Unset clutter text instance on disposal
Marco Trevisan (Treviño) [Mon, 28 May 2018 23:28:26 +0000 (02:28 +0300)]
st-label: Unset clutter text instance on disposal

The instance is owned by the actor (being its child), and thus when the
disposal happens for the parent the text is disposed too, thus it's just
safer to nullify its reference so that we won't try to access to invalid
objects later, and this might be the case since the JS objects could be kept
around until they aren't finalized.

https://bugzilla.gnome.org/show_bug.cgi?id=788931

8 years agocloseDialog: Periodically check for window to become responsive again
Florian Müllner [Mon, 21 May 2018 21:12:35 +0000 (23:12 +0200)]
closeDialog: Periodically check for window to become responsive again

The close dialog for non-responding windows is closed automatically
when we detect that the window is responding again. However as we
currently only ping the window in response to certain user actions
(like focusing the window or opening the window menu), this can
easily go undetected.

Address this by periodically pinging the window while the close
dialog is shown.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/298

8 years agocloseDialog: Disable unredirection while showing
Florian Müllner [Mon, 21 May 2018 19:21:05 +0000 (21:21 +0200)]
closeDialog: Disable unredirection while showing

The dialog won't be visible when unredirection is in place (for example
while a fullscreen window is focused), so disable unredirection while
the dialog is up.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/298

8 years agoBump version to 3.29.2
Florian Müllner [Thu, 24 May 2018 16:54:29 +0000 (18:54 +0200)]
Bump version to 3.29.2

Update NEWS.

8 years agodocs: Clarify where style changes should be done
Florian Müllner [Wed, 23 May 2018 16:30:20 +0000 (18:30 +0200)]
docs: Clarify where style changes should be done

After the move to Gitlab, the gnome-shell-sass repository is more
exposed than it used to; clarify that it is not the place where
style changes should happen, but rather the corresponding subtree
in the gnome-shell repository.

8 years agodocs: Use Markdown
Florian Müllner [Wed, 23 May 2018 15:55:43 +0000 (17:55 +0200)]
docs: Use Markdown

Markdown produces nicer output where supported, so use that instead
of plain ASCII formatting.

8 years agodocs: Remove old style HACKING
Florian Müllner [Wed, 23 May 2018 15:30:53 +0000 (17:30 +0200)]
docs: Remove old style HACKING

The information is outdated, the relevant documentation is all in
[the README](data/theme/README) nowadays.

8 years agodocs: Remove obsolete files
Florian Müllner [Wed, 23 May 2018 16:05:57 +0000 (18:05 +0200)]
docs: Remove obsolete files

The canonical maintainership information is tracked in the project's
.doap file as for any other GNOME project, and the empty AUTHORS
file only existed to make autotools happy.

8 years agoImprove notification documentation
Ole Jørgen Brønner [Mon, 21 May 2018 19:07:09 +0000 (21:07 +0200)]
Improve notification documentation

Ref: https://gitlab.gnome.org/GNOME/gnome-shell/issues/294

8 years agoUpdate Chinese (China) translation
Mingcong Bai [Mon, 21 May 2018 14:27:23 +0000 (14:27 +0000)]
Update Chinese (China) translation

8 years agoUpdate Swedish translation
Anders Jonsson [Sun, 20 May 2018 17:28:17 +0000 (17:28 +0000)]
Update Swedish translation

8 years agomagnifier.js: Fix zoom juddering
Daniel van Vugt [Thu, 10 May 2018 10:13:49 +0000 (18:13 +0800)]
magnifier.js: Fix zoom juddering

Make Zoom respond to the mouse silky-smoothly.

It was previously hard-coded to: 1000/50 = 20 FPS.

https://bugzilla.gnome.org/show_bug.cgi?id=682013
https://launchpad.net/bugs/1691675

8 years agoUpdate Galician translation
Marcos Lans [Tue, 15 May 2018 22:36:45 +0000 (22:36 +0000)]
Update Galician translation

8 years agoUpdate Galician translation
Marcos Lans [Tue, 15 May 2018 21:58:21 +0000 (21:58 +0000)]
Update Galician translation

8 years agonetwork: Update the icon in the panel whenever NM's state changes
Mario Sanchez Prada [Tue, 17 Apr 2018 20:51:34 +0000 (21:51 +0100)]
network: Update the icon in the panel whenever NM's state changes

Similar to what it's done when the main connection changes, we need
to make sure that the icon in the panel gets updated before calling
_syncConnectivity(), so that the icon gets always updated if needed,
regardless of whether there's an active connection or not.

This is needed because there's at least one case when an icon should
be shown when the computer is not connected to any network: when a
hotspot has been enabled, which can be useful even if there's not
an internet connection to share (e.g. to easily allow connecting
other devices to the computer.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/214
8 years agoUpdate Indonesian translation
Kukuh Syafaat [Sat, 12 May 2018 03:59:42 +0000 (03:59 +0000)]
Update Indonesian translation

8 years agonetworkAgent: Fix fallout from libnm port
Florian Müllner [Wed, 9 May 2018 14:17:17 +0000 (16:17 +0200)]
networkAgent: Fix fallout from libnm port

While the libnm-glib version of the function returns a GByteArray*
that gjs can directly cast to the required gutf8*, the libnm function
returns GBytes* from which we need to explicitly fetch the data.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/136

8 years agoosdWindow: Fix blurriness at certain resolutions
Silvère Latchurié [Fri, 26 May 2017 15:46:35 +0000 (17:46 +0200)]
osdWindow: Fix blurriness at certain resolutions

The y position wasn't rounded, leading to some blurriness at vertical
resolutions that aren't a multiple of 4 (e.g. 1050).

https://bugzilla.gnome.org/show_bug.cgi?id=782011

8 years agokeyboardManager: take group index into account when preserving keymap
Ray Strode [Fri, 4 May 2018 21:45:19 +0000 (17:45 -0400)]
keyboardManager: take group index into account when preserving keymap

commit 642107a2 attempts to avoid resetting the current keymap on
spurious input source changes.

It does this by checking if the current layout id is found in
the new list of layouts and resetting the current layout to the
associated match in the list. By not nullifying the current
layout, it won't get subsequently reset.

Unfortunately, if the order of the list changes, resetting the
current keymap is still necessary, since the order corresponds
with the index of the activated group.

This commit changes the code to nullify the current layout if
its group index changes.

https://bugzilla.redhat.com/show_bug.cgi?id=1573923

8 years agobuild: Include Cally in St introspection
Florian Müllner [Wed, 2 May 2018 17:39:43 +0000 (19:39 +0200)]
build: Include Cally in St introspection

CallyActor is exposed indirectly via StAccessible's parent type,
so add the dependency to shut up a gjs warning.

https://bugzilla.gnome.org/show_bug.cgi?id=781471

8 years agoremoteSearch: Actually return icons
Florian Müllner [Thu, 3 May 2018 08:14:22 +0000 (10:14 +0200)]
remoteSearch: Actually return icons

Since commit 3b1330880f, a remote search result's createIcon() method
no longer returns the created icon, whoops ...

https://gitlab.gnome.org/GNOME/gnome-shell/issues/249

8 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Wed, 2 May 2018 18:46:32 +0000 (18:46 +0000)]
Update Brazilian Portuguese translation

(cherry picked from commit e909db5848ad4eb6e4b69e45dbbe20a58ec3cc3e)